
/**
  *     @desc    echarts 限制鼠标经过tips范围
  *     @author  阳坤
  *
  * **/

export const positionTips = (point, params, dom, rect, size) => { // 固定提示框显示范围
    // 鼠标坐标和提示框位置的参考坐标系是：以外层div的左上角那一点为原点，x轴向右，y轴向下
    // 提示框位置
    var x = 0; // x坐标位置
    var y = 0; // y坐标位置

    // 当前鼠标位置
    var pointX = point[0];
    var pointY = point[1];

    // 外层父盒子宽高
    var viewWidth = size.viewSize[0];
    var viewHeight = size.viewSize[1];

    // 提示框大小
    var boxWidth = size.contentSize[0];
    var boxHeight = size.contentSize[1];

    // 右边放不下
    if (pointX + viewWidth / 2 > viewWidth) {
        x = pointX - boxWidth - 20
    } else if (boxWidth > pointX) {
        // 左边放不下   改变提示框距离左侧位置
        x = pointX + 20;
    } else { // 左边放的下
        x = pointX - boxWidth - 20;
    } // boxHeight>pointY说明鼠标上边放不下提示框

    // 下面放不下
    if (pointY + viewHeight / 2 > viewHeight) {
        y = pointY - boxHeight - 20
    } else if (pointY + boxHeight > viewHeight) {
        y = 0;
    } else if (boxHeight > pointY) {
        y = pointY + 20;
    } else { // 上边放得下
        y = pointY - boxHeight - 20;
    }
    return [x, y];
}
